1. Field of Invention
The present invention pertains to the field of distributed systems. More particularly, this invention relates to synchronizing clocks across sub-nets of a distributed system.
2. Art Background
Distributed systems commonly include an arrangment of nodes which are interconnected via a communication network. Such distributed systems include distributed control systems and distributed computer systems to name a few examples. A communication network for such a system may be implemented with a packet-based protocol such as Ethernet or one or more of a variety of packet-based protocols which are adapted to distributed control system applications.
Some or all of the nodes of a distributed system may include a local clock which maintains a local time for a node. It is commonly desirable to maintain a common sense of time in a distributed system by synchronizing the local times maintained in the local clocks of its nodes.
One prior protocol for synchronizing the local clocks of a distributed system is the Network Time Protocol (NTP). Typically, a node operating according to NTP periodically generates a packet containing a time value obtained from its local clock and transfers the packet via the communication network. Nodes running NTP usually gather these packets from the communication network and perform statistical analysis of the obtained time data and in response adjust the time values in their local clocks.
A relatively large communication network usually includes communication devices such as routers which enable communication among large numbers of nodes. A typical router may be characterized as a store and forward device because it stores incoming packets and processes information associated with the incoming packets before forwarding the packets onto their destinations. Portions of a communication network that are separated by a router may be referred to as sub-nets of the communication network. A communication network may include any number of routers and sub-nets.
Typically, the store and forward functions of a router cause a relatively large variation in the transfer time of packets between nodes located on different sub-nets. The variation in packet transfer time may be referred to as jitter. Unfortunately, the relatively large amount of jitter introduced by store and forward devices such as routers severely limits the accuracy of time synchronization across sub-nets using prior mechanisms such as NTP.